package jdbc;

import com.alibaba.druid.pool.DruidDataSource;

import java.sql.*;

public class DBUtil {
    private static DruidDataSource dataSource = new DruidDataSource();

    static {
       dataSource.setUrl("jdbc:mysql://localhost:3306/tedu?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true");
       dataSource.setUsername("root");
       dataSource.setPassword("root");
       dataSource.setMaxActive(10);//设置池中的最大连接数
       dataSource.setInitialSize(5);//初始化时创建的连接数
    }
    public static Connection getConnection() throws SQLException {
        return dataSource.getConnection();//从Druid数据源中获取数据库连接。通过调用dataSource.getConnection()方法，
                                        // 返回一个DruidPooledConnection对象，该对象实现了Connection接口，用于执行数据库操作
    }

    public static void close(Connection connection) {
        // 先判断连接是否为null，再调用close()
        if (connection != null) {
            try {
                connection.close();// 当你从连接池获取Connection对象后，
                                      //直接调用其close()方法即可触发连接池的回收机制。
            } catch (SQLException e) {
                throw new RuntimeException(e);
            }
        }
    }

}
